var pageListUrl = rootPath + "s/sms/msg/pagelist";// 分页查询
var countUrl = rootPath + "s/sms/msg/count";// 分页查询

function queryList() {
	var results;
	$("#datagrid").datagrid({
//		url : pageListUrl,
		pagination : true,// 分页控件
		width : 'auto',// 面板宽度，自动列宽
		height : 'auto',// 面板高度，自动列高
		nowrap : false,// :当true时，显示数据在同一行上。默认true。
		checkOnSelect : true,
		rownumbers : true,
		selectOnCheck : true,
		singleSelect : false,
		autoRowHeight : true,
		fitColumns : true,
		pageNo : 0,
		pageSize : 10,
		queryParams : getQueryParam(),
		loadFilter : function(rs) {
			if (rs.opStatus == "0") {
				$("#pageNo").val(rs.data.pageNo);
				$("#pageSize").val(rs.data.pageSize);
				results = rs.data.results;
				var data = {
					"rows" : rs.data.results,
					"total" : rs.data.totalRecord
				};
				return data;
			}
		},
		columns : [ [ {
			field : '_',
			checkbox : true,
			width : '5%'
		}, {
			field : 'mobile',
			title : '电话号码',
			width : '10%',
			align : 'center'
		}, {
			field : 'content',
			title : '短信内容',
			width : '45%',
			align : 'center'
		}, {
			field : 'serialNumber',
			title : '流水号',
			width : '10%',
			align : 'center'
		}, {
			field : 'sendTime',
			title : '发送时间',
			align : 'center',
			width : '10%',
			formatter : function(rs, row) {
				if (rs) {
					var date = new Date(rs)
					return dateToString(date);
				}
			}
		}, {
			field : 'returnCode',
			title : '发送状态',
			align : 'center',
			width : '5%',
			formatter : function(data, row) {
				if (data == "0") {
					return "<font color='green'>发送成功</font>";
				} else {
					var handleState;
					if (row.handleState == '1') {
						handleState = "未处理";
					}
					if (row.handleState == '2') {
						handleState = "<font color='green'>已处理</font>";
					}
					return "<font color='red'>发送失败</font><br>" + handleState;
				}

			}
		}, {
			// top.YunpianErrCode
			field : '状态说明',
			title : '状态说明',
			align : 'center',
			width : '14%',
			formatter : function(data, row) {
				return top.YunpianErrCode[row.returnCode];
			}
		} ] ],
		onDblClickRow : function(index, row) {
		}
	});
}

/**
 * 获取查询表单的参数
 * 
 * @returns
 */
function getQueryParam() {
	var html = $("#datagrid").html();
	if (html == "") {
		var pageSize;
		var pageSizeStr = $("#pageSize").val();
		if (pageSizeStr && pageSizeStr != "") {
			pageSize = parseInt(pageSizeStr);
		}
		var pageNo;
		var pageNoStr = $("#pageNo").val();
		if (pageNoStr && pageNoStr != "") {
			pageNo = parseInt(pageNoStr);
		}
	} else {

	}
	var beginTime = $("#beginTime").val();
	var endTime = $("#endTime").val();
	var mobile = $("#mobile").val();
	var content = $("#content").val();
	var serialNumber = $("#serialNumber").val();
	var handleState = $("#handleState").val();
	var param = {
		"pageNo" : pageNo,
		"pageSize" : pageSize,
		"beginTime" : beginTime,
		"endTime" : endTime,
		"mobile" : mobile,
		"content" : content,
		"serialNumber" : serialNumber,
		"handleState" : handleState
	};
	return param;
};
/**
 * 发起请求获取短信统计参数
 * 
 * @param dateBegin
 * @param dateEnd
 * @returns
 */
function getCount(beginTime, endTime) {

	var count;
	$.ajax({
		url : countUrl,
		type : 'post',
		data : {
			"beginTime" : beginTime,
			"endTime" : endTime
		},
		async : false,
		success : function(res) {
			if (res.opStatus == "0") {
				count = res.data + "条";
			} else {
				count = "<font color='red'>获取失败</font>";
			}

		}
	});
	return count;
}
/**
 * 填写短信统计数量
 * 
 * @returns
 */
function setCount() {
	var date = new Date();
	var dateStr = dateToString(date);
	// 今年
	var yStr = dateStr.split("-")[0] + "-01-01 00:00:00";
	var yFont = getCount(yStr, null);
	$("#y").html("今年：" + yFont);
	// 这个月
	var mStr = dateStr.split("-")[0] + "-" + dateStr.split("-")[1]
			+ "-01 00:00:00";
	var mFont = getCount(mStr, null);
	$("#m").html("这个月内：" + mFont);
	// 今天
	var dStr = dateStr.split(" ")[0] + " 00:00:00";
	var dFont = getCount(dStr, null);
	$("#d").html("今天：" + dFont);
}

/**
 * 处理失败短信
 * 
 * @returns
 */
function handleFailsms() {
	var rows = $("#datagrid").datagrid("getChecked");
	if (rows.length > 0) {
		var serialNumber = rows[0].serialNumber;
		var flag = true;
		var mobiles = "";
		for ( var i in rows) {
			var returnCode = rows[i].returnCode;
			if(returnCode == 0){//判断是否选中了 已经发送成功的短信
				showMsg("不能选中已经【发送成功】的短信记录！");
				return;
			}
			var handleState = rows[i].handleState;
			if(handleState == 2){//判断是否选中了已经处理过的短信
				showMsg("不能选中【已处理】的短信记录！");
				return;
			}
			if (serialNumber != rows[i].serialNumber) {//判断已经选中的记录是否流水号都是一致的
				flag = false;
				break;
			}
			serialNumber = rows[i].serialNumber;
			mobiles += (rows[i].mobile + ",");
		}
		if(flag){
			Index.loadPage("s/sms/msg/batchsend.cgi",null,function(){
			
				$(".active-menu").removeClass("active-menu");
				$("a[link=\"s/sms/msg/batchsend.cgi\"]").addClass("active-menu");
				var content = rows[0].content;
				$("#send_content").val(content);
				$("#other").attr({"checked":"checked"});
				var dom = $("#other")[0];
				 checkServer(dom);
				$("input[name=mobiles]").val(mobiles);
				$("#serialNumber").val(serialNumber);
				
			});
		}else {
			showMsg("每次批量处理只能选中[流水号]相同的短信记录！");
		}
	} else {
		showMsg("请在需处理的短信前面打上“勾勾”！");
	}
}
/**
 * 刷新分页列表
 * 
 * @returns
 */
function refreshGrid() {
	$("#datagrid").datagrid("reload", getQueryParam());
}
$(document).ready(function() {
	$("#search_button").on("click", function() {
		refreshGrid();
	});
	$("#handle_failsms_button").on("click", function() {
		handleFailsms();
	});
	queryList();// 加载分页数据
	setCount();// 加载短信统计
	var rows = $("#datagrid").datagrid("getPager");
	// $("#datagrid").datagrid({
	// onBeforeLoad:function(param){
	// param.pageSize = param.rows;
	// param.pageNo = param.page;
	// param.rows = null;
	// param.page = null;
	// }
	// });
	$("#datagrid").datagrid({
		url:pageListUrl,
		onBeforeLoad : function(param) {
			var prm = getQueryParam();
			if (prm.serialNumber) {
				param.serialNumber = prm.serialNumber;
			}
			
			param.pageSize = param.rows;
			param.pageNo = param.page;
			param.rows = null;
			param.page = null;
		}
	});
});